// 导入pinia的defineStore函数和vue的ref函数
import { defineStore } from 'pinia'
import { ref } from 'vue'

// 定义一个名为token的store
const useToken = defineStore('token', () => { 
    // 定义一个名为token的ref变量，初始值为null
    const token = ref(null)
    // 定义一个更新token的函数，将传入的值赋给token
    const updateToken = val => token.value = val 
    // 定义一个移除token的函数，将token的值设为null
    const removeToken = () => token.value = null 
    // 返回token、updateToken和removeToken
    return { token, updateToken, removeToken }
},
// 定义持久化策略
{
    persist: {
        enabled: true,
        strategies: [ {
            key: 'token',
            storage: localStorage
        }]
    }
})
export default useToken